package ar.edu.caece.compiler.grammar.nonterminals;

import ar.edu.caece.compiler.grammar.NonTerminalSymbol;
import ar.edu.caece.compiler.grammar.terminals.DoToken;
import ar.edu.caece.compiler.grammar.terminals.FinMientrasToken;
import ar.edu.caece.compiler.grammar.terminals.PuntoComaToken;
import ar.edu.caece.compiler.grammar.terminals.WhileToken;

public class PROP1 extends NonTerminalSymbol implements PROP {

	private WhileToken whileToken;
	private CONDICION condicion;
	private DoToken doToken;
	private LISTAPROP listaprop;
	private FinMientrasToken finMientrasToken;
	private PuntoComaToken puntoComaToken;
	
	public PROP1(WhileToken whileToken, CONDICION condicion, DoToken doToken,
			LISTAPROP listaprop, FinMientrasToken finMientrasToken,
			PuntoComaToken puntoComaToken) {
		super();
		this.whileToken = whileToken;
		this.condicion = condicion;
		this.doToken = doToken;
		this.listaprop = listaprop;
		this.finMientrasToken = finMientrasToken;
		this.puntoComaToken = puntoComaToken;
	}

	@Override
	public String getRepresentation() {
		// TODO Auto-generated method stub
				return "{"+this.getClass().getSimpleName()+" -> "+whileToken.getRepresentation()+" "+condicion.getRepresentation()+" "+doToken.getRepresentation()+" "+listaprop.getRepresentation()+" "+finMientrasToken.getRepresentation()+" "+puntoComaToken.getRepresentation()+"}";
	}

	public WhileToken getWhileToken() {
		return whileToken;
	}

	public CONDICION getCondicion() {
		return condicion;
	}

	public DoToken getDoToken() {
		return doToken;
	}

	public LISTAPROP getListaprop() {
		return listaprop;
	}

	public FinMientrasToken getFinMientrasToken() {
		return finMientrasToken;
	}

	public PuntoComaToken getPuntoComaToken() {
		return puntoComaToken;
	}

}
